#include<stdio.h>
#include<unistd.h>
#include<string.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
int main(){
    close(1);
    int n = printf("stdin-> %d\n",stdin->_fileno);
    printf("stdout->%d\n",stdout->_fileno);
    printf("stderr->%d\n",stderr->_fileno);

    fprintf(stderr,"printf ret : %d\n",n);


    //三个默认打卡的文件
   // char buffer[1024];
   // ssize_t s = read(0,buffer,sizeof(buffer));
   // if(s < 0){
   //     return 1;
   // }
   // //在输入的字符串末尾加上'\0'
   // buffer[s]='\0';
   // printf("echo : %s\n", buffer);

   // const char *message = "hello linux\n";
   // write(1,message,strlen(message));
   // write(2,message,strlen(message));


    //open函数返回值是数组下标测试
    //int fd1 = open("log1.txt", O_WRONLY|O_CREAT,0666);
    //int fd2 = open("log2.txt", O_WRONLY|O_CREAT,0666);
    //int fd3 = open("log3.txt", O_WRONLY|O_CREAT,0666);
    //int fd4 = open("log4.txt", O_WRONLY|O_CREAT,0666);
    //printf("fd1 : %d\n",fd1);
    //printf("fd2 : %d\n",fd2);
    //printf("fd3 : %d\n",fd3);
    //printf("fd4 : %d\n",fd4);

    //文件系统调用函数
    //umask(0);
    //int fd = open("log.txt", O_WRONLY|O_CREAT|O_APPEND,0666);
    //if(fd < 0){
    //    printf("open file error\n");
    //}

    ////第一次写入的内容
    ////const char *message = "hello file system call\n";
    ////第二次写入的内容
    //const char *message = "aaa\n";
    //write(fd,message,strlen(message));

    //close(fd);
    return 0;
}



//#define ONE (1<<0)
//#define TWO (1<<1)
//#define THREE (1<<2)
//#define FOUR (1<<3)
//
//void show(int flags){
//    if(flags & ONE) printf("hello function1\n");
//    if(flags & TWO) printf("hello function2\n");
//    if(flags & THREE) printf("hello function3\n");
//    if(flags & FOUR) printf("hello function4\n");
//}
//
//int main(){
//    printf("--------------------\n");
//    show(ONE);
//    printf("--------------------\n");
//    show(TWO);
//    printf("--------------------\n");
//    show(ONE|TWO);
//    printf("--------------------\n");
//    show(ONE|TWO|THREE);
//    printf("--------------------\n");
//    show(THREE|FOUR);
//    return 0;
//
//}


//int main(){
//    //chdir("/home/zmh01");
//    printf("pid: %d\n",getpid());
//
//    FILE *fp = fopen("log.txt", "a");
//    if(fp == NULL){
//        perror("fopen");
//        return 1;
//    }
//
//    //第一次写入的
//    //const char *message = "hello Linux";
//    //第二次写入的
//    
//    const char *message = "abcd\n";
//    fwrite(message,strlen(message),1,fp);
//
//    fclose(fp);
//
//    //sleep(1000);
//
//    return 0;
//}
